That won't work because the parameter choice is a char** which is a different type to the array menu_pages. Taking sizeof() an array gives you the amount of memory the whole array occupies. But taking the sizeof() a char** only tells you how big a char** is, not all the data it points to.
The problem is that the declarations look the same. But they are not. With the variable menu_pages, it has a type array of char* and the compiler knows how big the data it contains is. But with your parameter choice the compiler has no idea how much data it points to.