mmm.. sino me equivoco, al estar declarado dentro del main, la memoria se reserva en la pila, la cual esta limitada por el sistema operativo.
Con el comando ulimit puedes modificar el tamaño, en mi máquina
$ ulimit -s
8192
Como ves una cantidad bastante superior a la de por defecto. (mmm.. freo que la salida es en kB)
Solución A, modificar el valor de ulimit (ulimit -s tamaño) lo cual veo un poco feo
Solución B, declarar la variable en el segmento de datos, esto es antes del main, tambien algo feo porque modificas la visibilidad de la variable (uff tengo c muy olvidado)
Solución C, declarar la variable como static (con sus consecuencias.. que tampoco las recuerdo muy bien, xd)
Solución C, usar memoria dinámica (malloc), no olvides de liberarla!
pd: he podido cometer unos cuantos errores, que tengo algo/bastante olvidado c