In fact, I did something similar but with a wifi spot in a hotel. Let me paint the scenario:
a) Hotel lobby/conference area.
b) Wifi in hotel is paid – not free
c) Nominate one person to sign up for the non-free Wifi account in the hotel.
d) On that person whose machine is signed up with the Hotel Wifi, ensure that ip forwarding is enabled – from the terminal and as root type:
echo "1" > /proc/sys/net/ipv4/ip_forward.
Determine this machine’s IP # as well.
e) Get all the others to connect with the Hotel’s wifi spot, but DO NOT SIGN UP.
f) On each machine, change the default route as follows:
route del default route add default gw IP#OfTheMachineThatSignedUp
Viola, done. All the others can connect through the signed up machine now.