get_posts will show the posts, not list them.
Well, that is not true. It will actually query the posts. You can do whatever you want with that query then, for example creating a list of posts:
$myposts = get_posts('numberposts=5&offset=1&category=1');
foreach($myposts as $post) :
<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
<?php endforeach; ?>
This is the code example from the codex I linked in my post above. As you can see, it is creating a list of posts. In this Example the first 5 posts of category with the ID 1 are listed.
Your suggestion of wp_list_categories is misleading. It is for displaying a list of categories, not of posts.