Por que a strtok está alterando sua entrada assim?

Ok, então eu entendo que strtok modifica seu argumento de entrada, mas, neste caso, está recolhendo a string de entrada apenas no primeiro token. Por que isso está acontecendo e o que posso fazer para corrigi-lo? (Observe que não estou falando da variável "temp", quedevemo seja o primeiro token, mas a variável "input", que após uma chamada para strtok se torna "this")

#include <string.h>
#include <stdlib.h>
#include <stdio.h>

int main(int argc, char* argv[]) {
   char input[]="this is a test of the tokenizor seven";
   char * temp;
   temp=strtok(input," ");
   printf("input: %s\n", input); //input is now just "this"
}

questionAnswers(6)

yourAnswerToTheQuestion