inside the loop try:
searchptr=strstr(searchptr+1, line2);
You want to start each subsequent search at one char past where the last search stopped.
Oh, yeah, and move the printf INSIDE the loop so a) you print each string found, and
b) you DON'T print when searchptr is NULL:
searchptr=strstr(line1, line2);
while (searchptr!=NULL)
{
printf ("%s\n",searchptr);
searchptr=strstr(searchptr+1, line2);
}