Post Title Not showing up

Add:

$first_attachment = reset($attachments); 
$first_attachment_id = $first_attachment->ID;
$first_attachment_title = $first_attachment->post_title;

Below:

$nbImg = count($attachments);

Now you are able to return the link with:

echo wp_get_attachment_link( $first_attachment_id, '' , true, false, $first_attachment_title ); 

If you need a sort of custom link markup, you can have a look at the related functions: http://codex.wordpress.org/Function_Reference/wp_get_attachment_link

Edit:

There is no need to get the attachements twice, as far as I see you only need to know how many attachements you have and the URL to the first attachement. So you could replace:

<?php  
$args = array(
'post_type' => 'attachment',
'numberposts' => -1,
'offset' => 0,
'orderby' => 'menu_order',

...

break;
 }
}
}

?>

With:

<?php
$attachments = get_children(array('post_parent'=>$post->ID));
$nbImg = count($attachments);
$first_attachment = reset($attachments); 
$first_attachment_id = $first_attachment->ID;
$first_attachment_title = $first_attachment->post_title;
?>

After that, you can place your link:

<?php echo wp_get_attachment_link( $first_attachment_id, '' , true, false, $first_attachment_title ); ?>