env -i somecommand runs somecommand em um ambiente vazio. Você pode colocar argumentos depois de somecommand . Se PATH for apagado, você precisará especificar o caminho completo para somecommand . Como alternativa, você pode preservar PATH ou definir um valor diferente.
env -i PATH="$PATH:/another/directory" somecommand
Se você quiser ter o mesmo ambiente que você teria após o login, preserve apenas algumas variáveis e carregue seu .profile para definir o restante. Se você usar um shell de login diferente (bash com .bash_profile , csh com .login , etc.), adapte-se de acordo.
env -i HOME="$HOME" PATH=/usr/local/bin:/usr/bin:/bin USER="$USER" \
sh -c '. ~/.profile; "$@"' _ somecommand
Como alternativa, você pode preferir remover algumas variáveis do ambiente. env -u VAR1 -u VAR2 somecommand remove VAR1 e VAR2 do ambiente e executa somecommand . No Linux, você pode usar env -0 | tr '\nenv | sed 's/=.*//'' '.\n' | sed 's/=.*//' para produzir uma lista de variáveis de ambiente com um nome por linha, adequado para filtragem. Em outras variantes unix, %code% faz o mesmo trabalho, com a limitação de encontrar falsos positivos se os valores de algumas variáveis contiverem novas linhas.