In a cygwin process that is started either from mintty or bash directly the following: $ user=234 $ ./cat <(echo $user) 234 works as expected. But after a chroot: $ chroot . ./bash user=234 $ ./cat <(echo $user) ./cat: /dev/fd/63: No such file or directory In the directory I am chrooting in, I created a tmp folder, as well as proc, proc/self, and proc/self/fd, and a dev directory. Can someone explain why process substitution to create a virtual file doesn't work in a chroot environment? Thank you.