read
lê a entrada padrão. Mas a entrada padrão do processo bash já foi tomada pelo script. Dependendo do shell, read
não lerá nada porque o shell já leu e analisou todo o script ou read
consumirá linhas imprevisíveis no script.
Solução simples:
bash -c "$(wget -O - http://example.com/my-script.sh)"
Solução mais complexa, mais para fins educacionais do que para ilustrar uma boa solução para esse cenário específico:
echo '{ exec </dev/tty; wget -O - http://example.com/my-script.sh; }' | bash