Isso não acontece. Mas $ RANDOM retorna números grandes (entre 0 e 32767) que, especialmente para palavras de comprimentos limitados, mostram o mesmo resultado, já que a porção head provavelmente retorna todos os resultados do grep (para 3, há apenas 819 correspondências em meu /usr/share/dict/words ).
Melhor solução pode ser embaralhar os resultados:
egrep "^.{$num}$" /usr/share/dict/words | sort -R | tail -n 1
onde -R significa --random-sort (uma extensão do GNU sort ).