Try something like below
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void mycall(char cmd[])
{
char *pch = NULL;
printf ("%s\n", cmd); /* correctly prints 'ls -l' */
printf ("Before call to strtok\n");
pch = strtok (cmd, " ");
printf ("After call to strtok\n");
}
int main()
{
char cmd[] = "ls -l";
mycall(cmd);
exit(EXIT_SUCCESS);
}