Primeiramente, os arquivos de configuração de tarefas do Upstart (arquivos .conf) não são scripts no sentido convencional: a primeira linha que você tem (' #!upstart ') é completamente redundante e será tratada apenas como comentário.
Seu problema é o uso de ' exec ' no primeiro arquivo .conf com o loop for: exec substitui o shell atualmente em execução pelo argumento que você fornece exec, portanto, somente a primeira entrada no loop for será executada.
Para corrigir isso, simplesmente remova ' exec ' no primeiro arquivo .conf.