Se vuoi usare la shell, devi passargli anche la password, anche se questo và fuori ambito sicurezza.
Non ho letto tutti i messaggi di questo post, ma se l'obiettivo è quello di caricare dati su un db mysql, da un file csv, e deve essere integrato in un programma gambas, ti consiglio di creare e usare Gambas.
Mi spiego meglio...
Se il tuo obiettivo è il semplice caricamento di dati, lo fai a riga di comando, e la cosa finisce lì.
Se invece devi integrare una sorta di funzionalità all'interno di un tuo programma, ti conviene usare le funzionalità del linguaggio Gambas. A parte una minima conoscenza di Gambas, non vedo grandi difficoltà a creare oggetti o funzioni ad-hoc per fare questa operazione.
Sapendo come è composto un file csv, abbiamo le seguenti casistiche di base:
1) ogni riga è un record; le righe sono terminate con LF (ascii linux=Chr(10), dos=Chr(10)+Chr(13));
2) ogni campo è separato dal carattere "virgola"; se il carattere è diverso il file non è un puro csv;
3) se i campi possono contenere caratteri separatori (ovvero la virgola), allora ogni campo è delimitato da doppi apici.
Date queste tre regole, la lettura del file può essere fatta con tre righe di codice, mentre la decodifica un'altro paio ancora. Una volta determinati i campi componenti la riga (puoi salvarli in una Collection o in un array), il salvataggio sul db è altrettanto semplice, ovviamente dopo averne stabilito la connessione. Unico problema potrebbe essere il come formare l'istruzione sql, i cui campi possono essere di formato divero; questo lo puoi determinare leggendo la struttura della tabella di destinazione, e convertendo prima i dati rilevati dalla riga in input, poi formattandoli opportunamente.
Creare apposita procedura con Gambas, ti permette soprattutto di avere maggior controllo su quello che stai inserendo nel database (es. controllare codice validi, o valori nulli).
Sò che forse quello che ho scritto potrebbe non essere perfettamente chiaro, ma sono a disposizione per ulteriori aiuti.
Ciao