Is your C API really using a char **? That would mean that library has its own memory allocator. There is no way to do a "char **" with the default perl typemap. You will have to write real C/XS code (CODE:/PPCODE:) section, or write real C code in your supplementary typemap in your module. ANSI prototype mode with default perl typemap wont work for "char **"s.
Please read
How do I post a question effectively? and post more background on what you are trying to do, and code or C header examples of what you have done so far.