C - podziel ciąg na tablicę ciągów

Nie jestem całkowicie pewien, jak to zrobić w C:

char* curToken = strtok(string, ";");
//curToken = "ls -l" we will say
//I need a array of strings containing "ls", "-l", and NULL for execvp()

Jak bym to zrobił?