Normalmente no puede evitar el bucle ya que está llamando a EXEC, lo que no se puede hacer como una operación basada en SET; tiene que hacerse uno por uno.
Si solo quiere evitar CURSOR en general, puede implementarlo usando un ciclo WHILE.
De lo contrario, otra opción es usar una declaración SELECT + FOR XML que construye las declaraciones EXEC como una sola declaración NVARCHAR(MAX) en una variable, luego EXEC solo ese SQL dinámico.