I generate a bash variable containing all my args and those args contain spaces.
When I launch a command with those args - eg. ls $args - quotes are not correctly interprete
Use set to set your variables as positional parameters; then quoting will be preserved if you refer to them via "$@" or "$1", "$2", etc. Make sure to use double quotes around your variable names.