A razao é simples: o portatil que está ligado ao pc com internet por cabo cruzado nao esta configurado para reencaminhar os pacotes ip do 2. portatil para o pc. Por outras palavras o portatil do meio nao está configurado para fazer routing.
Se o sistema operativo do portatil for linux (provavelmente nao é ?!?) aí o routing pode ser configurado com funcionalidade integrada no próprio sistema. Caso se trate de uma maquina com windows (xp), tens que configurar as duas placas em duas redes diferentes, por ex. 192.168.1.0 e 192.168.2.0 e activar o routing atravez do registry:
HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\IPEnableRouter [1]
Depois, supondo que o pc com internet tem o endereco 192.168.1.1, configuras uma route fixa no portatil-router (o do meio):
route -p change 0.0.0.0 mask 0.0.0.0 192.168.0.1 metric 2
Por fim, no 2. portatil configuras o portatil do meio para ser o router:
route -p change 0.0.0.0 mask 0.0.0.0 192.168.2.1
Daria uma coisa mais ou menos como esta
Internet<-->PC (192.168.1.1)<----------->[192.168.1.2] Port1 [192.168.2.1]<---------->[1922.168.2.2] Port2
Alternativamente, o Port1 tambem pode ser configurado para operar em modo de "bridging" em vez de "routing", mas aí já nao sei se o acesso a internet funciona.
O melhor ainda era investir num router com wireless :-)