How do I move a sequence through an array?

So this is what I have which is working though I'm not sure it is the most efficient way. Suggestions for improving it are welcome.

// ledStringGREEN[] contains a pattern which is the same length of the LED strip (72 bytes) (actually a short pattern and then trailing zeros)

// PASS RGB DATA TO LED STRING
  for(int ledNo = 0; ledNo < numLEDs; ledNo++) {
     ledString[ledNo].setRGB(0, ledStringGREEN[ledNo], 0);
  }
 
  // ROTATE PATTERN BY 1
  int temp = ledStringGREEN[sequencePosition]; // Store first item in array
  for(int i = numLEDs-1; i >= 0; i--) { 
    ledStringGREEN[i] = ledStringGREEN[i - 1]; // Rotate array   
  } 
  ledStringGREEN[numLEDs] = temp; // Put the first item at the end 
      
  FastLED.show();  // SENDS TO LEDS
  delay(50);
sequencePosition = (sequencePosition + 1) % numLEDs; // increments sequence in loop

I'm thinking a better approach would be one where I could insert short patterns n number of times and move them around the strip independently.