OK, the title may not be very clear. I was trying to do something very simple: loop through a file line by line, and add a simple read to wait each time for the user to press enter. But it reads from the pipe instead of stdin. I've tried to use some redirections but did not find the right incantation:
sort -R words.list | while read p; do speak "$p"; read; done
It's pretty obvious why the above doesn't work. But can I do something like read <&0 or read -u /dev/stdin on the 2nd read ?