diff --git a/sgad b/sgad
index 961f89a1f6568479d4456feffa1525c92dc8fdb5..56f6d2dd8f827f53a3209efa849e24fcd78b22fa 100755
--- a/sgad
+++ b/sgad
@@ -20,7 +20,7 @@ local function script_path()
    return str:match("(.*)/") or "."
 end
 
-local config, err = configuration.read(args[1] or os.getenv("SGAD_CONFIG_FILE") or script_path().."/sgad.cfg")
+local config, err = configuration.read(args[1] or os.getenv("SGAD_CONFIG_FILE") or script_path().."/sgad.cfg", args[2])
 if not config then
    io.stderr:write(err.."\n")
    os.exit(1)
diff --git a/sgad.sh b/sgad.sh
index 2e381c33d9d9cb715599f2b7316de80767725364..4f5180f4af737f916148855f9995571fda8712cd 100755
--- a/sgad.sh
+++ b/sgad.sh
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash
 
 timestamp=$(date +%Y%m%d%H%M%S)
 logsdir="logs"
@@ -6,13 +6,6 @@ logsdir="logs"
 [ ! -e $logsdir ] && echo "mkdir $logsdir" && mkdir $logsdir
 
 logfile="logs/sgad_${timestamp}.log"
-
-configfile=${1}
-if [ -z ${configfile} ]; then
-   echo "Using default file configuration" > ${logfile};
-   configfile=sgad.cfg
-fi
-
 hostruntimedir="/tmp/chuva"
 sgadruntimedir="${hostruntimedir}/sgad"
 runtimesandboxdir="${sgadruntimedir}/sandbox"
@@ -21,6 +14,28 @@ runtimesandboxdir="${sgadruntimedir}/sandbox"
 [ ! -e $sgadruntimedir ] && echo "mkdir $sgadruntimedir..." && mkdir $sgadruntimedir
 [ ! -e $runtimesandboxdir ] && echo "mkdir $runtimesandboxdir..." && mkdir $runtimesandboxdir
 
+POSITIONAL=() # Array para salvar argumentos passados ao comando
+while [[ $# -gt 0 ]] # Percorre todos argumentos
+do
+	case "$1" in
+		--sga-name)
+			sga_name=$2
+			shift
+			shift
+			;;
+		*)
+			POSITIONAL+=("$1")
+			shift
+			;;
+	esac
+done
+set -- "${POSITIONAL[@]}" # Reseta a posição do $N que foi shiftada
+config_file=$1 # Como shiftamos todos os argumentos para a direita, nosso $1 sempre vai ser o argumento config_file, se ele existir
+if [ -z ${config_file} ]; then
+   echo "Using default file configuration" > ${logfile};
+   config_file=sgad.cfg
+fi
+
 eval $(luarocks path --bin)
-sgad ${configfile} 2>&1 | tee -a "${logfile}"
+sgad ${config_file} ${sga_name} 2>&1 | tee -a "${logfile}"