Nesse caso específico, onde você tem apenas uma única palavra por linha, também pode:
xargs touch < file
Observe que isso será interrompido se os nomes dos arquivos puderem conter espaços. Para esses casos, use isso:
xargs -I {} touch {} < file
Apenas por diversão, aqui estão algumas outras abordagens (que podem lidar com nomes de arquivos arbitrários, incluindo linhas com espaços):
Observe que no Linux e sistemas similares, a extensão é opcional para a grande maioria dos arquivos. Não há motivo para adicionar uma .txtextensão a um arquivo de texto. Você é livre para fazê-lo, mas isso não faz nenhuma diferença. Portanto, se você deseja a extensão de qualquer maneira, use um dos seguintes:
xargs -I {} touch {}.txt < file
perl -ne '`touch "$_.txt"`' file
awk '{printf "" > $0".txt"}' file