Personalmente farei in pseudocodice:

codice:
size = filesize(file);
rand = rand(0, size);
fpen(file);
fseek(rand);
while true() {
    while (true) {
       fgetc() finche' non trovi il primo spazio oppure eof
       if eof
          if rand - 10 > 0
             fseek(rand - 10);
          else
             il file non contiene spazi
    }
    fgetc() finche' non trovi un altro spazio oppure eof
    parola = byteFraIDueSpazi();
}
fclose(file);