A mensagem de erro
No such file or directory
significa que o diretório em que você está tentando criar o arquivo não existe.
O problema é que
for x in $(find $TMPDIR -name '*.sam'); do
já armazena o caminho completo na variável x , então você tem que usar
cat SAMHeader.txt $x > ${x%.sam}_Header.sam
em vez de
cat SAMHeader.txt $x > $TMPDIR/${x%.sam}_Header.sam