Para uma resposta ineficiente e possivelmente sub-ótima:
while read -r first rest; do
echo "$(echo -n $first | md5sum | awk '{ print $1 }') $rest"
done <input_file
Isto irá mangle o espaço em branco entre a primeira palavra e o resto da linha, mas deve preservar isso entre palavras subseqüentes, se houver alguma.