Obrigado pelos comentários que me ajudaram a solucionar o problema real.
Como a steeldriver mencionou shopt
é um bash
embutido e como upstart
usa /bin/sh
por padrão e ele é vinculado a dash
, portanto shopt
não estava funcionando.
Além disso, o script em que shopt
funcionou era um script bash (espero que responda à pergunta de bodho.zazen).
Depois de algumas pesquisas, o que eu fiz foi colocar meu comando shopt
como este na seção de script, e isso funcionou -
script
/bin/bash <<'EOF'
<my-code>
shopt -s nullglob
<my-code>
EOF
end script
Obrigado a todos por me ajudarem! :)