IPの後に数は不特定の文字列が入った1行の文字列lineが、スペースを区切りに数行あったとします。

line[NUM] = {
"192.168.1.1 abc def",
"192.168.1.2 efg",
"192.168.1.3 hij klm nopqrs tu"
};

こんな感じです。
これのIPと、最初の文字列、最後の文字列を効率的に変数に読み込むにはどのような方法がよいでしょうか?
IPと最初の文字列だったら

sscanf(line, "%d.%d.%d.%d %s",&IP[0],
&IP[1],
&IP[2],
&IP[3],
&name );

という感じでできたのですが、「数が決まってない複数ある文字列の中の最後の文字列」を読み込むいい方法が思いつきません。どなたかアドバイスおねがいします。