Seu programa não executa um script " bin no diretório inicial". Executa "/bin/ls" . A chamada do sistema usa o shell, mas também usando um nome de caminho absoluto (na verdade POSIX diz o caminho é executado é a implementação definida). Não há como PATH afetar a escolha de ls ou do shell.
POSIX aborda o comportamento de IFS , dizendo:
Implementations may ignore the value of
IFSin the environment, or the absence ofIFSfrom the environment, at the time the shell is invoked, in which case the shell shall set IFS to<space><tab><newline>when it is invoked.
Se você estivesse perguntando sobre uma implementação que não se comporta dessa maneira, então (porque POSIX sugere que isso é feito com bastante frequência para observar) a implementação específica seria pertinente.