char *url;
do {
    count++;
    sprintf(url,
        "curl "
        "-o ~/Downloads/ts%04d.html "
        "http://ja.stackoverflow.com/q/%d",
        count,
        count
    );
    system(url);
} while (count< X);

私は上のようなコードを書きました。printfでurlを表示させ端末からコピーし他の端末で実行できることを確認しました。
けれど、これではcurlコマンドの結果が正しくありません。~/Downloads/内にダウンロードされないのです。
このプログラムで間違っているのはどこですか