I used your program as a template, and came up with this. It's not very elegant, but it's clear what it's doing, I think.
Code:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void) {
int len,l;
char t[]="hello world how are you";
int c, i, last, count;
int offset = 0;
char *words[10] = {0};
char *new;
len=strlen(t);
for(i = 0, count = 0; i <= len; i++)
if(t[i]==' ' || i == len) {
t[i]='\0';
if(offset == 0)
words[count] = malloc(i * sizeof(char));
else
words[count] = malloc(offset * sizeof(char));
strcpy(words[count], t + offset);
count++;
offset = i + 1;
}
for(i = 0; i < count; i++)
printf("\n %s", words[i]);
printf("\n\n Press Enter When Ready ");
c = getchar();
return 0;
}