Por que não algo simples como o uso de cut / xargs.
cut -d: -f 1 /srv/old_filtered_passwd | xargs -n 1 useradd
Ou talvez algo mais complexo como este (não totalmente testado).
awk 'BEGIN{FS=":"} {print "useradd -u " $3 " -g " $4 " -c \"" $5 "\" -h " $6 " "$1}' /srv/old_filtered_passwd > recreate_users
# verify
cat recreate_users
# actually create the users
bash recreate_users
Você pode fazer tudo com um único comando, como awk ... | bash
. Embora eu sugira strongmente que você olhe para a saída do awk pela primeira vez para ter certeza de que tudo está correto.