C言語を使ったUNIXシステムコールプログラミングの質問させてください
catコマンドライクなプログラムを書いているんですけど

「引数に指定されたファイルの各行に行番号を付けて標準出力に出力する
プログラムを作りなさい.行番号は 4 桁とします.
ファイルを読むのは,システムコールである open, read, close
を直接用いなさい.」
(行の終りには改行コードが入っています)

この問題文の解答となるようなコードを書きたいんだけど、どうしてもfdopenとかgetchar、fgetsを使ったものしか思いつきません

行番号をプリントしないでファイルの内容を表示するコードは書けてます
→http://codepad.org/rik8bxkY

どなたかご教授願います