Executando scripts python com subprocess.call usando shebang

Estou escrevendo um aplicativo (um tanto) modular no Python 3 e gostaria de executar programas arbitrários a partir dele, sendo o programa especificado em tempo de execução e não necessariamente um script pytho

Então eu uso, por exemplo,

subprocess.call([spam, "-i", eggs, "-o", ham])

E sespam é um script python, com shebang parapython3 e direitos executáveis, recebo

OSError: [Errno 8] Exec format error

se e

subprocess.call(["python3", spam, "-i", eggs, "-o", ham])

Funciona bem

Você sabe por quê? Como posso correrspam sem especificarpython3?

questionAnswers(2)

yourAnswerToTheQuestion