A tabela em esta resposta de estouro de pilha (que obteve do Wiki do Bash Hackers ) explica como as diferentes variáveis do Bash são expandidas:
Vocêestáfazendopython-i-c"from $@"
, que se transforma em python -i -c "from sys" "import" "stdout"
, e -c
usa apenas um único argumento, por isso está executando o comando from sys
. Você deseja usar $*
, que será expandido em python -i -c "from sys import stdout"
(assumindo que $IFS
não está definido ou começa com um espaço).