La préservation des espaces dans une chaîne de caractères comme argument de ligne de commande

Je suis confronté à un petit problème ici, j'ai envie de passer une chaîne de caractères contenant des espaces , à un autre programme, tel que l'ensemble de la chaîne est traitée comme un argument de ligne de commande.

En bref je veux exécuter une commande de la structure suivante par le biais d'un shell bash script:
command_name -un arg1 -b arg2 -c "arg avec des espaces ici"

Mais pas n'importe comment j'essaie, les espaces ne sont pas conservées dans la chaîne, et est segmenté par défaut. Une solution s'il vous plaît,

edit: C'est la partie principale de mon script:

#!/bin/bash

#-------- BLACKRAY CONFIG ---------------#
# Make sure the current user is in the sudoers list
# Running all instances with sudo

BLACKRAY_BIN_PATH='/opt/blackray/bin' 
BLACKRAY_LOADER_DEF_PATH='/home/crozzfire'
BLACKRAY_LOADER_DEF_NAME='load.xml'
BLACKRAY_CSV_PATH='/home/crozzfire'
BLACKRAY_END_POINT='default -p 8890'
OUT_FILE='/tmp/out.log'

echo "The current binary path is $BLACKRAY_BIN_PATH"


# Starting the blackray 0.9.0 server
sudo "$BLACKRAY_BIN_PATH/blackray_start"

# Starting the blackray loader utility
BLACKRAY_INDEX_CMD="$BLACKRAY_BIN_PATH/blackray_loader -c $BLACKRAY_LOADER_DEF_PATH/$BLACKRAY_LOADER_DEF_NAME -d $BLACKRAY_CSV_PATH -e "\"$BLACKRAY_END_POINT\"""

sudo time $BLACKRAY_INDEX_CMD -a $OUT_FILE

#--------- END BLACKRAY CONFIG ---------#
Désolé, mais vous avez trop peu d'informations. Ce shell utilisez-vous (bash, ksh, csh, ...)? Pouvez-vous dire quelle commande vous essayez d'exécuter? Si c'est un standard de l'utilitaire UNIX, pouvez-vous dire sa version?
script bash. Ok, voici ce que j'essaie de faire: .... BLACKRAY_END_POINT="default-p 8890" .... CMD="$BLACKRAY_BIN_PATH/blackray_loader -c $BLACKRAY_LOADER_DEF_PATH/$BLACKRAY_LOADER_DEF_NAME -d $BLACKRAY_CSV_PATH -e \"$BLACKRAY_END_POINT\"" ... Maintenant, je veux exécuter la commande ci-dessus tels que $BLACKRAY_END_POINT est considéré comme une seule chaîne et ne pas se faire sous forme de jeton. $BLACKRAY_END_POINT est une chaîne de caractères contenant des espaces bash, et la divise en des termes différents. Je veux préserver les espaces et passer l'ensemble de la chaîne comme un seul argument.
Inconnu, rencontrer barre oblique-double-quote (\"). Barre oblique-double-quote, rencontrer des inconnus.

OriginalL'auteur crozzfire | 2009-10-12