Normalmente, $PATH
é herdado do ambiente e os scripts de inicialização do shell podem modificá-lo.
Mas se a variável de ambiente não estiver configurada, ela aparentemente tem um padrão embutido em código, que depende da versão (ou talvez das opções de configuração definidas durante a compilação).
No meu sistema OS X executando bash 3.2.57(1)-release
$ env -i bash --norc --noprofile -c 'echo $PATH'
/usr/gnu/bin:/usr/local/bin:/bin:/usr/bin:.
No Debian executando bash 4.2.37(1)-release
$ env -i bash --norc --noprofile -c 'echo $PATH'
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
Você pode confirmar que eles são codificados no binário usando
strings /bin/bash | grep /usr/local/bin