Mmm. Certainly you need some string buffer
#define buflen 20
char strbuf[buflen];
and string index variable, which is 0 before reception of string. On RX interrupt you read byte from data register, put it to
strbuf[index] and increment the index. Then you check if you received desired number of chars, also if index is stil valid and is lower than buflen.
Above simple approach would work if you had no noise, connect/disconnect issues etc. For real life app your protocol may need to include handsheaking, start-of-message (re)synchronization, maybe some checksum. You may also need FIFO buffer to let your ISR routine accepting new messages, while you are analysing and processing commands received earlier...