Cooperative relaying has been proposed as a promising transmission technique that effectively creates spatial diversity through cooperation among spatially distributed nodes. However, to achieve efficient communications while gaining full benefits from cooperation, more interactions at higher protocol layers, particularly the MAC (Medium Access Control) and network layers, are vitally required. This is ignored in most existing articles that mainly focus on physical (PHY)-layer relaying techniques. In this paper, we propose a novel cross-layer framework involving two levels of joint design-a MAC-network cross-layer design for forwarder selection (or termed routing) and a MAC-PHY for relay selection-over symbol-wise varying channels. Based on location knowledge and contention processes, the proposed cross-layer protocol, CoopGeo, aims at providing an efficient, distributed approach to select next hops and optimal relays to form a communication path. Simulation results demonstrate that CoopGeo not only operates properly with varying densities of nodes, but performs significantly better than the existing protocol BOSS in terms of the packet error rate, transmission error probability, and saturated throughput.