Se for um script sh - como em, ele referencia explicitamente #!/bin/sh - que ainda pode ser bash , mas seria como invocá-lo com --posix --no-rc --no-profile -, você pode especificar o arquivo ENV com a variável de ambiente ENV :
ENV=/path/to/rcfile sh
Variáveis específicas precisam ser declaradas na linha de comando - como acima para $ENV - ou então com export . Por exemplo, para $PATH você faz:
export "PATH=$PATH:/some/more/paths"; sh
A variável $BASH_ENV que você faz referência não é um arquivo que precisa ser originado - e não é interpretado de qualquer maneira quando bash é invocado como sh -, mas é um caminho para um arquivo originado quando bash shell não interativo é invocado - como com um script que especifica o:
#!/bin/bash
... ou qualquer outra linha bang.
Outra maneira de invocar seu script / shell é com o utilitário env . Ele pode ser usado para remover explicitamente valores do ambiente ou, como normalmente é mais fácil, para limpá-los desde o início:
env - BASH_ENV=/path/to/rcfile /usr/bin/bash /some/script/file
Isso dirá a env para invocar o comando /usr/bin/bash - com todos os seus argumentos anexados - com a variável de ambiente $BASH_ENV especificada, mas de outra forma com um ambiente limpo inteiramente.