Array not working as intended?

would adding a delay after the first read make a difference?

No. That is not the correct approach.

If your commands are always 2 characters, don't read anything until there are two characters to read.

If your commands are variable length, add an end of packet marker (the CR, LF or CR and LF that the serial monitor adds automatically make fine end of packet markers).