Insomma prova a modificare la funzione così e vedi se funziona:
codice:
puntElenco inserisci(puntElenco L, char*word){
           puntElenco temp=L->next;
           L->next=(puntElenco)malloc(sizeof(Elenco));
           strcpy(L->next->info,word);
           L->next->next=temp;
           return L->next;
           }
Così com'è dovrebbe funzionare tranne per il fatto che ti inserisce l' elemento nella posizione successiva a quella che vuoi te.Gli devi quindi passare un L che sia il precedente di quello che gli passi nel tuo codice.