input-line.sh is: bash ./input-line.sub this line for input-line.sub
with input-line.sub being: read line echo line read by $0 was \`$line\' The test is run by executing: bash < input-line.sh. How does input-line.sub manage to read from the correct point in the input file? Doesn't the parent bash read the whole lot into its buffer, so that the child bash starts reading from the end of the file?