sh carrega apenas .profile se for um shell de login , ou seja, se for invocado com o argumento 0 iniciando com - . Portanto, se você não quiser que /etc/profile e ~/.profile sejam lidos, invoque o shell com o argumento padrão 0 (o nome do executável).
Se algo estiver executando o shell como um shell de login, você não terá controle sobre argumentos. Caso contrário, o shell não é um shell de login.
Além dos arquivos que são carregados se o shell for um shell de login, há um outro arquivo que algumas implementações de sh carregam: o arquivo indicado na variável de ambiente ENV . Se você estiver chamando um shell e não quiser carregar nenhum arquivo, certifique-se de que ENV não esteja definido.