Copyメソッドでは次元数が異なる配列への複写が出来ないので、そういった場合はfor文・foreach文を使って要素を一つずつコピーする必要があります。

1次元配列から2次元配列へ複写する
using System;

class Sample {
  static void Main()
  {
    // 複写元の1次元配列(長さが12)
    int[] matrix1 = {
      0, 1, 2, 3,
      4, 5, 6, 7,
      8, 9, 10, 11,
    };

    // 複写先の2次元配列(長さが4×3)を確保
    int[,] matrix2 = new int[3, 4];

    // 配列を複写
    for (int i = 0; i < matrix1.Length; i++) {
      int d1 = i / matrix2.GetLength(1);
      int d2 = i % matrix2.GetLength(1);

      matrix2[d1, d2] = matrix1[i];
    }

    // 結果を表示
    for (int d1 = 0; d1 < matrix2.GetLength(0); d1++) {
      for (int d2 = 0; d2 < matrix2.GetLength(1); d2++) {
        Console.Write("{0}, ", matrix2[d1, d2]);
      }
      Console.WriteLine();
    }
  }
}
実行結果
0, 1, 2, 3, 
4, 5, 6, 7, 
8, 9, 10, 11,