Could that not just be:
<list_names.txt awk -F'\t' '{printf "%s.gz\0%s\0", $2, $1}' | xargs -r0n2 mv --
Or more efficiently:
perl -F'\t' -lae 'rename "$F[1].gz", $F[0] or warn "$F[1].gz: $!\n"' list_names.txt
Could that not just be:
<list_names.txt awk -F'\t' '{printf "%s.gz\0%s\0", $2, $1}' | xargs -r0n2 mv --
Or more efficiently:
perl -F'\t' -lae 'rename "$F[1].gz", $F[0] or warn "$F[1].gz: $!\n"' list_names.txt