Grazie ragazzi, in effetti non stavo considerando piu il fatto che devo allocare. Comunque sto facendo in un altro modo.
L'obiettivo è creare una lista di elementi che hanno ognuno un membro che è una stringa allocata dinamicamente e DEVE essere cosi perche essendo un esercizio d'esame non posso cambiarlo.

Ora vi chiedo se è corretto questo procedimento da ripetere n volte dove n è il numero degli elementi della lista.

codice:
	printf("Immettere membro \"str\": ");
	char s[100];											//array di supporto
	scanf("%s", s);
	char** stringhe = NULL;									//array di puntatori a stringa
	int n = 0;
	stringhe = realloc(stringhe, sizeof(char*)*(n+1));		//alloco di un posto l'array di punt
	stringhe[n] = malloc( sizeof(char)*(strlen(s)) );		//alloco la stringa dinamica della lunghezza che mi serve per memorizzare quello che ho preso in input
	strcpy(stringhe[n], s);									//copio l'input nella stringa allocata in precedenza
	L->str = malloc(sizeof(char*));							//alloco L->str di quanto serve per contenere un puntatore a stringa
	L->str = stringhe[n];									//faccio puntare L->str alla stringa dinamica
	n++;													//preparo n alla prossima iterazione
Se mi dite che questo procedimento è giusto allora l'errore sta nel come concateno la lista...
Aspetto voi! e come al solito vi ringrazio!!
Ps: Ho provato con dei printf sul codice che vi ho scritto sopra e mi sembra tutto apposto, ma una vostra occhiata e conferma non guasta!