単に、新しい動的メモリを作って、そこにコピーすれば?

配列確保→新しい配列のポインタ取得
古い配列 → 新しい配列 にデータ転送
古い配列解放
古い配列のポインタを指す変数=新しい配列のポインタ

または、manpage realloc