Loop the data already received on the serial monitor

Just to add my two rubles worth:
I'm almost certain you will want a time element associated with the commands recorded; I'd suggest a two dimensional array as discussed here.

Write to it when your switch case is true AND the global variable recording (bool) = true.

void loop() 
{ 
  if(old_recordingSTATE == false && recording == true){ // set millis() to 0}

  getstr = Serial.read();
  switch(getstr)
  {
    case 'f': forward(); 
     SaveRecordingPath (recording, millis() , getstr);
     break;
   }
old_recordingSTATE  = recording;
}


void SaveRecordingPath (bool isRECORDING, int long TIME, char COMMAND){

   if (isRECORDING == true){
     // write to  array here
    // increase array_slot
    }
    else{
    array_slot = 0;
    }
}