É um problema com as aspas duplas. Seu shell (o externo) expandirá $FOO
antes de executar o comando. Se você definir $FOO
para algo (digamos que "FOO") você realmente executa este comando.
/bin/bash -c "echo FOO; export FOO=BAR; echo FOO"
E se você não definir o FOO, execute este comando
/bin/bash -c "echo ; export FOO=BAR; echo "
Por favor, use aspas simples para obter o que você espera.
/bin/bash -c 'echo $FOO; FOO=BAR; echo $FOO'