Pode ser feito facilmente com um fifo.
$ cat bar.sh
#!/bin/sh
read bar
echo got $bar in the read line
$ mkfifo foo
$ ./bar.sh < foo &
$ echo hello > foo
$ got hello in the read line
[1]+ Done ./bar.sh < foo
$
Ex:
$read &
[1] 15139
[1]+ Stopped
$jobs -l
[1]+ 15139 Stopped (tty input) read
Pode ser feito facilmente com um fifo.
$ cat bar.sh
#!/bin/sh
read bar
echo got $bar in the read line
$ mkfifo foo
$ ./bar.sh < foo &
$ echo hello > foo
$ got hello in the read line
[1]+ Done ./bar.sh < foo
$