While ICS will work, I have several problems w/ it.
If you connect the PC to the router’s WAN port as suggested, the PC and the other users are on different subnets. In fact, the PC is confronted by the router’s firewall, while all the other users are behind it. Also, all those other users are double NAT’d, which may or may not be a problem (depends on how you plan to use the Internet connection).
The other option is to connect your PC to one of the router’s LAN ports (iow, not use the WAN port at all). You’ll want to disable the router’s DHCP server, and give it an IP address in the same subnet as ICS (192.168.0.x). Perhaps 192.168.0.99 would be a good choice since ICS’s DHCP server allocates IPs starting from 192.168.0.2 and up. At least this places everyone behind the router and using the same subnet, although the double NAT remains. And as w/ the prior configuration, routing is relegated to ICS, which is much more limited than your router (e.g., no port forwarding).
As a rule, I only like ICS “in a pinch”, when I need something quick and dirty for a rare occasion. So while either of these two configurations will definitely work, you take some hits in terms of performance and functionality. That’s why I propose a third alternative.
Instead of using ICS, bridge the wired and 3G connections and unbind TCP/IP from that bridge. Then patch the wired connection to the WAN port of your router. This will allow the WAN port of the router to receive the public IP rather than your PC. Now everyone behind the router has Internet access, uses the router’s subnet, and has access to all the router’s features (e.g., port forwarding).
The only remaining issue is that the bridged PC now has no connectivity for itself (it was sacrificed for the sake of the router). But that’s easily corrected. Just install another wired/wireless network adapter (you may have one already installed for all I know) and connect it to the router like everyone else. Voila, everyone is now behind the router.
<-- internet -->[3g modem]<-- usb -->(usb)[pc w/ usb+wire bridged](lan)<-- wire -->(wan)[router]
To bridge the connections, go to Network Connections (at any command prompt, type “ncpa.cpl” (no quotes) and hit enter), select both network connections, right click, and select Bridge Connections.
To unbind TCP/IP from that bridged connection, right click the bridge, select Properties, and untick the TCP/IP protocol option(s). It will be described slightly differently depending on OS version. I have XP and it reads “Internet Protocol (TCP/IP)”, for Win7 you’ll see options for TCP/IPv4 and TCP/IPv6 (untick both).
And btw, if you’re willing to spend the money, then obviously Emerald’s suggestion is the best. But if you want something “on the cheap”, these three configurations basically compromise your options.