@Morfeo: È "normale" che non succeda nulla

grazie al tuo aiuto ho riguardato il codice e ho trovato un errore.
In pratica io effettuavo le prove sempre in una cartella con files tutti .jpg e nn si era mai verificata la tua situazione.
Se osservi l'output puoi notare che ci sono quei numeri: il primo è il numero progressivo dell'immagine importata e il secondo è il numero totale di immagini. Cambiando estensione il conteggio progressivo ripartiva da 1 con la consguenza di non avere mai, nel tuo caso, una immagine 12 - 12, l'immagine finale.
Posto il codice aggiornato
#! /bin/bash
########################################################
## Script per creare slideshow per lo sfondo di Gnome ##
########################################################
#################################
## Definizione delle variabili ##
#################################
# Cartella attuale
cartella=$PWD
# File di output a scelta
output_file="slideshow.xml"
# Lista delle estensioni di file accettate
lista_estensioni=".jpg .jpeg .png"
for ext in $lista_estensioni; do
num_file=$(($(ls ${cartella} | grep -i $ext | wc -w) + num_file))
done
echo -n "Durata in secondi di ogni immagine: "
read durata
#########################################
## Controlla se la durata è un numero. ##
#########################################
if [ "$durata" != "$(echo $durata | grep "^[0-9]*$")" ]; then
echo "Valore non corretto."
sleep 3
exit
fi
echo -n "Vuoi inserire una transizione tra un'immagine e l'altra? (s,n): "
read risposta
#####################################################################################
## Controlla se è stata richiesta la transizione e verifica il valore della durata ##
#####################################################################################
if [ "${risposta}" = "s" ]; then
transizione="1"
echo -n "Quanti secondi deve durare la transizione? "
read tempo_transizione
if [ "$tempo_transizione" != "$(echo $tempo_transizione | grep "^[0-9]*$")" ]; then
echo "Valore non corretto."
sleep 3
exit
fi
elif [ "${risposta}" = "n" ]; then
transizione="0"
else
echo "Scelta errata."
sleep 3
exit
fi
###########################################################
## Cancella il file esistente se c'è e ne crea uno nuovo ##
###########################################################
if [ -e ${output_file} ]; then
rm ${output_file}
fi
touch ${output_file}
############################################
## Scrive sul file la prima riga dell'XML ##
############################################
echo "<background><starttime><year>2009</year><month>08</month><day>04</day><hour>00</hour><minute>00</minute><second>00</second></starttime>" >> ${output_file}
#########################################
## AGGIUNTA DELLE IMMAGINI AL FILE XML ##
#########################################
for estensioni in $lista_estensioni; do
echo ""
echo $estensioni
for elemento in $(ls ${cartella} | grep -i $estensioni); do
let c=$c+1
echo "$elemento ($c/$num_file)"
# Fatta eccezione per la prima immagine, completa il comando di transizione dell'immagine precedente
if [ "$c" != "1" ] && [ "$transizione" = "1" ]; then
echo "<to>${cartella}/${elemento}</to></transition>" >> ${output_file}
fi
echo "<static><duration>${durata}</duration><file>${cartella}/${elemento}</file></static>" >> ${output_file}
# Fatta eccezione per l'ultima immagine, inizia il comando di transizione dell'immagine attuale
if [ "$c" != "$num_file" ] && [ "$transizione" = "1" ]; then
echo "<transition type=\"overlay\"><duration>${tempo_transizione}</duration>" >> ${output_file}
echo "<from>${cartella}/${elemento}</from>" >> ${output_file}
fi
done
done
##########################################
## Chiude il file XML con </background> ##
##########################################
echo "</background>" >> ${output_file}
#######################################################
## Chiedo se si vuole usare la slideshow come sfondo ##
#######################################################
echo -n "Vuoi usare la slideshow come sfondo? (s,n): "
read risposta2
if [ "${risposta2}"="s" ]; then
/usr/bin/gconftool-2 -t string -s /desktop/gnome/background/picture_filename ${cartella}/${output_file}
fi