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).