Isso não funciona como esperado porque /proc/<PID>/fd/0
não é um canal. Se você invocar o lado de envio com o stdin conectado a um pipe, ele funcionará
No host de destino
nc -l 10000
No host de envio
mkfifo my.fifo
cat >my.fifo &
cat my.fifo | nc remotehost.tld 10000
Agora você pode
echo "Hello World" >my.fifo
myprog >my.fifo
Observe que cat >my.fifo
é necessário para manter o fifo aberto, caso contrário, um EOF é enviado e a conexão é fechada prematuramente. Para fechar a conexão, você precisa matar o processo do gato que está mantendo o fifo aberto.