>From sh(1) of TFM of version 3.0: RESTRICTIONS If << is used to provide standard input to an asynchronous process invoked by & , the shell gets mixed up about naming the input document. A garbage file /tmp/sh* is created, and the shell complains about not being able to find the file by another name.