It makes a some sense. I will give you a few hints, but I have a lot of work to do tonight, so no more posts from me until tomorrow at least.
One thing that is weird about your post, you use the word "list" and I'm not sure why and it's confusing. For instance, a list can never be smaller than another list, unless you are talking about length. Are you talking about the length of each element of the inputted list? I thought we we're talking about numerical value, but it isn't a big deal if we're not, we just need to decide that. I just want to make sure you (and I) have a complete understanding of what you are trying to do.
If we are talking about numerical values, I would rewrite what you said as:
1. Take the inputted list
2. Assign the first element of the list to A and assign the second element of the list to B
3. If A is smaller than B store, store A, otherwise store B (where should you store it?)
4. Take first element out for the list (aka take the CDR of the list) and loop back to 2.
5. If the list is empty, return the minimum you have found (always remember the exit criterion)
This actually will error, but it is nearly correct. There is a bug because we exit when the list is empty, but on the iteration before the list is empty, we get the second value in the list, which doesn't exist (well, technically, it arguably does in Common Lisp, but it has a value of NIL).
STOP HERE until you have decided 100% on what you are attempting to do.
Once you have decided on the process, all you have to do is convert it to Lisp code. Start by copying an example from the spec or class so you at least have something that runs. Then slowly modify it until it performs the algorithm above. You already have figured out how to iterate over a list. Now you have to figure out how to grab the first and second element of the list, compare them (however you need to, perhaps with the < function), store the lesser, then loop back. Then you should make sure your termination clause is setup correctly. For the second form in your DO construct, you need to define an exit criterion and a return value.
STOP HERE until you have something that runs and produces a correct output.
Then, although it might not be necessary for class, you should look at what you have written and see what you could have written more clearly or cleanly. Of course, as others have noted, DO loops are not known for their clarity and thus there are limited gains here.