We study the routing problem for multi-hop wireless ad hoc networks based on cooperative transmission. We prove that the Minimum Energy Cooperative Path (MECP) routing problem, i.e., using cooperative radio transmission to find the best route with the minimum energy cost from a source node to a destination node, is NP-complete. We thus propose a Cooperative Shortest Path (CSP) algorithm that uses the Dijkstra's algorithm as the basic building block and reflects the cooperative transmission properties in the relaxation procedure. Simulation results show that with more nodes added in the network, our approach achieves more energy saving compared to traditional non-cooperative shortest path algorithms. Another interesting observation is that the proposed algorithm achieves better fairness among different nodes with denser networks. Implementation issues are also discussed.