Select objects from get_posts()

This sounds like more of PHP question than a WordPress one – get_posts() just returns an array of objects; interact with them like you would any other numerical array:

$posts = get_posts();

$first_post = $posts[0];
$last_post = array_slice( $posts, -1, 1 );

$everything_but_first_last = array_slice( $posts, 1, -1 );

Check out the complete list of array functions.