The only approach which worked for me is creating your own dnat.
Here is source:
http://www.macosxhints.com/article.php?story=20050331194834746&query=internet%2B sharing
Here I my steps:
1) I have created new network location (to preserve my regular air port configuration)
2) I have set my airport ip address to 10.0.0.1 with mask 255.255.255.0
3) I have created new network (right clicking on my air port icon)
4) I have connected device to which I want share internet (in my case iphone 3g 😉 ) to this network assigning it static ip 10.0.0.2 and router 10.0.0.1
At this point I was able to send ping from my mac to my mobile.
5) I have called following from commandline (192.168.10.10 is ip address of my en0 interface which I am using to connect to net):
sudo sysctl -w net.inet.ip.forwarding=1
sudo /usr/sbin/natd -alias_address 192.168.10.10 -interface en0 -use_sockets -same_ports -unregistered_only -dynamic -clamp_mss
sudo ipfw add divert natd ip from any to any via en0
I am pretty sure this is not easiest way to get connected ... anyway this worked for me 😉