Aunque has declarado una estructura.. lo cierto es que la trabajas de manera atipica.. es decir cargas un puntero pero lo manejas como un array, lo cual no tienen nada de malo pero por lo menos yo noestoy acostumbrado a ese tipo de cosas, y por lo que veo tu tampoco.
Si lo vas a manejar como un array entonces los miembros de la estructura no se acceden como si fuese a travez de apuntadores o sea asi:
Sino que hay que accederlos copn notacion de variables o sea:
Adicional a todos estos errores al final en el ultimo printf haces esto:
printf("\t%s \n". lista->nombre);
No se que es lo que pretendes hacer pero creo que deberias hacer esto:
printf("\t%s \n". lista[i].nombre);