In argv you can pass only a one dimensional array, containing strings, it's
char* argv[]
So, you can't really pass 2D array, but you can "simulate" it.
For example, pass 2 parameters, saying what are the sizes of the matrix - number of rows and number of columns and then pass all elements, one by one.
Then parse the arguments in your program, knowing what format you will use.
For example: if you want to pass
1 2 3
4 5 6
you may run your program like this:
./my_program 2 3 1 2 3 4 5 6
This way, you'll know, that argv[1] is the number of rows, argv[2] s the number of columns and them all elements of the 2D array, starting from the upper left corner.
Don't forget, that argv is array, containing char* pointers. In other words, you'll need to convert all parameters ints.