Múltiples argumentos de opciones usando getopts (bash)

Estoy tratando de procesar los argumentos de la línea de comandos usando getopts en bash. Uno de los requisitos es el procesamiento de un número arbitrario de argumentos de opciones (sin el uso de comillas).

1er ejemplo (solo toma el 1er argumento)

madcap:~/projects$ ./getoptz.sh -s a b c
-s was triggered
Argument: a

Segundo ejemplo (quiero que se comporte de esta manera pero sin necesidad de citar el argumento "

madcap:~/projects$ ./getoptz.sh -s "a b c"
-s was triggered
Argument: a b c

¿Hay alguna forma de hacer esto?

Aquí está el código que tengo ahora:

#!/bin/bash
while getopts ":s:" opt; do
    case $opt in
    s) echo "-s was triggered" >&2
       args="$OPTARG"
       echo "Argument: $args"
       ;;
   \?) echo "Invalid option: -$OPTARG" >&2
       ;;
    :) echo "Option -$OPTARG requires an argument." >&2
       exit 1
       ;;
    esac
done

Respuestas a la pregunta(2)

Su respuesta a la pregunta