What want to do is read the IR code into an char* array
Please explain why you want to do this.
char* irCommand[33];
This is an array of 33 pointers that point nowhere. You can not write to the place that these point to until you make them point somewhere.
irCommand[ne] = irCmd; // add the line to the array
This does not make a copy of the data. All it does is say that this pointer points to the memory known as irCmd.
Having 33 pointers point there hardly seems useful.
I suspect that a 2D array of chars would be far more suitable for your purpose.