Well fixing some of the errors would help
Code:
$ gcc -W -Wall -ansi -pedantic -O2 foo.c
foo.c: In function ‘getAllToken’:
foo.c:12: warning: implicit declaration of function ‘getNextToken’
foo.c:12: warning: assignment makes pointer from integer without a cast
foo.c:13: warning: implicit declaration of function ‘strcpy’
foo.c:13: warning: incompatible implicit declaration of built-in function ‘strcpy’
foo.c: At top level:
foo.c:18: error: conflicting types for ‘getNextToken’
foo.c:12: error: previous implicit declaration of ‘getNextToken’ was here
foo.c: In function ‘interpret’:
foo.c:34: warning: passing argument 2 of ‘getAllToken’ from incompatible pointer type
foo.c:35: warning: format ‘%s’ expects type ‘char *’, but argument 2 has type ‘char (*)[29u]’
foo.c: In function ‘main’:
foo.c:46: warning: implicit declaration of function ‘exit’
foo.c:46: warning: incompatible implicit declaration of built-in function ‘exit’
The biggie problem is how you call this
void getAllToken(char *line,char *tokenList[])
With this
getAllToken(line,tokenList);

A 2D array of char is not an array of pointers (repeat after me, arrays and pointers are NOT the same thing).

This would be better
void getAllToken(char *line,char tokenList[20][30])
Then you can pass that 2D array as you describe.

> strcpy(token,tokenList[i]);
I'd say you're copying the wrong way, it's strcpy(destinatio,source)