Quando o bash é invocado como sh, ele tenta agir como se fosse um shell POSIX padrão, então é claro que ele não usa ~/.bash_profile . Tudo isso está documentado; veja man bash . Se você quiser o sourcing automático de ~/.bash_profile , invoque-o como bash.